//
// Created by Administrator on 2021/11/26.
//

#include "PStash.h"

#include <cassert>
#include <iostream>

template<typename T, int size = 100>
class Array
{
public:
    T& get(int index);

    T& operator [] (int index)
    {
        assert(index >= 0 && index < size);
        return m_data[index];
    }

private:
    T m_data[size];
};

template<typename T, int size>
T& Array<T, size>::get(int index)
{
    assert(index >= 0 && index < size);
    return m_data[index];
}

int main()
{
//    Array<int, 100> ia;
//    Array<float> fa;
//    for(int i = 0; i < 20; ++i)
//    {
//        ia[i] = i * i;
//        fa[i] = float(i) * 1.414f;
//    }
//    for(int j = 0; j < 20; ++j)
//    {
//        std::cout << j << ": " << ia[j] <<
//        ", " << fa[j] << std::endl;
//    }
    return 0;
}